package com.itheima.test1;

/**
 * 1.编写一个接口（ShowHandler）
 *
 * 1. 在该接口中存在一个抽象方法（show），该方法是无参数无返回值
 * 2. 在测试类（ShowHandlerDemo）中存在一个方法（useShowHandler）
 *        方法的的参数是ShowHandler类型的
 *        在方法内部调用了ShowHandler的show方法
 */
public class Test1 {

    public static void main(String[] args) {

        //调用useShowHandler
        //匿名内部类的方式实现  面向对象的思想
        useShowHandler(new ShowHandler() {
            @Override
            public void show() {
                System.out.println("使用匿名内部类实现");
            }
        });
        //使用lambda实现
      /*  useShowHandler(()->{
            System.out.println("使用lambda表达式实现");
        });
*/
        useShowHandler(()->System.out.println("使用lambda表达式实现"));
    }


    public static void useShowHandler(ShowHandler showHandler){
        showHandler.show();
    }

}
interface  ShowHandler{


    void show();
}